software testing automated testing automated software testing software thin-client application radius3 safety testing independent software testing hazard analysis haccp performance testing fmea quality assurance software testing outsourcing